<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <script type="text/javascript" src="./lib/vue-2.4.0.js"></script>
  </head>

  <body>
    <div id="app">
      <!-- 如果要使用组件，直接，把组件的名称，以 HTML 标签的形式，引入到页面中，即可 -->
      <my-com1></my-com1>
    </div>

    <script type="text/javascript">
      // 全局：这两个字的意思指的是所有的Vue实例对象控制区域都能访问得到

      // 1.1 使用 Vue.extend 来创建全局的Vue组件 得到组件的模版对象
      /* var com1 = Vue.extend({
            // 组件要展示的html结构
           template: '<h3>这是使用 Vue.extend 创建的组件</h3>' 
           // 通过 template 属性，指定了组件要展示的HTML结构
         })*/

      // 1.2 使用 Vue.component('组件的名称', 创建出来的组件模板对象)注册全局组件
      // 第二个参数: Vue.extend 创建的组件模版  ,其中 template 就是组件将来要展示的HTML内容
      // Vue.component('myCom1', com1)  // 有点类似art-template里的var htmlStr = template(模版名称, {模版数据})

      // 如果使用 Vue.component 定义全局组件的时候，组件名称使用了 驼峰命名，
      // 则在引用组件的时候，需要把 大写的驼峰改为小写的字母，同时，两个单词之前，使用 - 链接；
      // 如果不使用驼峰,则直接拿名称来使用即可;
      // 将来在页面使用mycom1 对应会在页面展示com1里面template模版的内容
      // Vue.component('mycom1', com1)

      // Vue.component 第一个参数:组件的名称,将来在引用组件的时候,
      // 就是一个 标签形式 来引入 它的
      // 第二个参数：Vue.extend 创建组建，其中 template 就是组件将来要展示的HTML内容
      // Vue.component('myCom1', com1);
      Vue.component(
        "myCom1",
        Vue.extend({
          template: "<h3>这是使用 Vue.extend 创建的组件</h3>"
        })
      );

      // 创建 Vue实例，得到 ViewModel
      var vm = new Vue({
        el: "#app",
        data: {},
        methods: {}
      });
    </script>
  </body>
</html>
